home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 March / CMCD0305.ISO / Software / Shareware / Utilitare / emu / Emu8086_Setup_307c.exe / {app} / Samples / include.asm < prev    next >
Assembly Source File  |  2002-08-02  |  1KB  |  82 lines

  1. ; This sample shows
  2. ; the use of emu8086.inc
  3. ; library of predefined
  4. ; macros and procedures.
  5.  
  6. #make_COM#
  7.  
  8. INCLUDE 'emu8086.inc'
  9.  
  10. ORG     100h
  11.  
  12. ; print out some chars,
  13. ; using macro:
  14. PUTC    'H'
  15. PUTC    'i'
  16. PUTC    ' '
  17. PUTC    'T'
  18. PUTC    'h'
  19. PUTC    'e'
  20. PUTC    'r'
  21. PUTC    'e'
  22. PUTC    '!'
  23.  
  24. ; new line:
  25. PUTC    13
  26. PUTC    10
  27.  
  28. ; print string using macro
  29. ; with carriage return in the end:
  30. PRINTN 'I love Assembly!'
  31.  
  32. ; print string using procedure:
  33. LEA     SI, msg
  34. CALL    print_string
  35.  
  36. ; input a number into CX
  37. ; using procedure:
  38. CALL    scan_num
  39.  
  40. ; new line:
  41. PUTC    13
  42. PUTC    10
  43.  
  44. PRINT "You've entered: "
  45. MOV     AX, CX
  46. ; print out the number in AX
  47. ; using procedure:
  48. CALL    print_num
  49.  
  50.  
  51. RET
  52.  
  53. msg     DB      'Enter a number: ', 0
  54.  
  55. ;=================================
  56. ; here we define the functions
  57. ; from emu8086.inc
  58.  
  59. ; SCAN_NUM reads a
  60. ; number from the user and stores
  61. ; it in CX register:
  62. DEFINE_SCAN_NUM
  63.  
  64. ; PRINT_STRING prints a null
  65. ; terminated string, the address
  66. ; of the string is in DS:SI 
  67. DEFINE_PRINT_STRING
  68.  
  69. ; PRINT_NUM prints a signed
  70. ; number in AX.
  71. ; (PRINT_NUM requires the declaration
  72. ; of PRINT_NUM_UNS).
  73. ; PRINT_NUM_UNS prints an unsigned
  74. ; number in AX:
  75.  
  76. DEFINE_PRINT_NUM
  77. DEFINE_PRINT_NUM_UNS
  78.  
  79. ;=================================
  80.  
  81. END
  82.